Tv search

ABSTRACT

A device consistent with certain embodiments has a television receiver and an Internet Protocol television (IPTV) receiver. A decoder decodes television programming from either of the television receiver or the IPTV receiver. A programmed processor(s) retrieves metadata relating to television programming, IPTV content, any installed Widgets, and the television (TV) receiver device&#39;s function, all of which are considered search targets. The programmed processor stores tags from the metadata in a database and associates the tags with their targets. A search engine searches the database for tags in response to a search query and to retrieve the associated target on command. The control processor executes the target by either tuning to the target&#39;s program content or by launching or resuming a Widget or TV device function. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

CROSS REFERENCE TO RELATED DOCUMENTS

This application is a continuation of pending U.S. patent applicationSer. No. 12/383,053 filed Mar. 19, 2009 which is hereby incorporated byreference.

COPYRIGHT AND TRADEMARK NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction of the patent document or thepatent disclosure, as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyright rightswhatsoever. Trademarks are the property of their respective owners.

BACKGROUND

As modern TVs get more complicated, with increasing services andapplications available to the user, and with the limited navigationalcapabilities of the remote control, it becomes increasingly hard to findthe items the user is interested in. The number of conventional TVchannel services available today already potentially occupies over 50channels. To make matters worse, the user often has to search and guesswhere a particular setting might reside in the television's menu system.Additionally, when Internet Protocol Television (IPTV) is consideredalong with user applications such as “Widgets”, the television set'soperation is greatly complicated over the level of complexity of olderconventional analog television sets.

Google desktop is a good example of a searching tool on a home computer.However, Google Desktop is a text-based search tool which looks forfiles, not applications or TV channels.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain illustrative embodiments illustrating organization and method ofoperation, together with objects and advantages may be best understoodby reference detailed description that follows taken in conjunction withthe accompanying drawings in which:

FIG. 1 is an example system block diagram for a television receiverdevice consistent with certain embodiments of the present invention.

FIG. 2 is a flow chart depicting an example process for updating thedatabase in a manner consistent with certain embodiments of the presentinvention.

FIG. 3 is an example search process consistent with certain embodimentsof the present invention.

DETAILED DESCRIPTION

While this invention is susceptible of embodiment in many differentforms, there is shown in the drawings and will herein be described indetail specific embodiments, with the understanding that the presentdisclosure of such embodiments is to be considered as an example of theprinciples and not intended to limit the invention to the specificembodiments shown and described. In the description below, likereference numerals are used to describe the same, similar orcorresponding parts in the several views of the drawings.

The terms “a” or “an”, as used herein, are defined as one or more thanone. The term “plurality”, as used herein, is defined as two or morethan two. The term “another”, as used herein, is defined as at least asecond or more. The terms “including” and/or “having”, as used herein,are defined as comprising (i.e., open language). The term “coupled”, asused herein, is defined as connected, although not necessarily directly,and not necessarily mechanically. The term “program” or “computerprogram” or similar terms, as used herein, is defined as a sequence ofinstructions designed for execution on a computer system. A “program”,or “computer program”, may include a subroutine, a function, a module, aprocedure, an object method, an object implementation, in an executableapplication, an applet, a servlet, a source code, an object code, ashared library/dynamic load library and/or other sequence ofinstructions designed for execution on a computer system. The term“processor”, “controller”, “CPU”, “Computer” and the like as used hereinencompasses both hard programmed, special purpose, general purpose andprogrammable devices and may encompass a plurality of such devices or asingle device in either a distributed or centralized configurationwithout limitation.

The term “program”, as used herein, may also be used in a second context(the above definition being for the first context). In the secondcontext, the term is used in the sense of a “television program”. Inthis context, the term is used to mean any coherent sequence of audiovideo content such as those which would be interpreted as and reportedin an electronic program guide (EPG) as a single television program,without regard for whether the content is a movie, sporting event,segment of a multi-part series, news broadcast, etc. The term may alsobe interpreted to encompass commercial spots and other program-likecontent which may not be reported as a program in an electronic programguide. Reference throughout this document to “one embodiment”, “certainembodiments”, “an embodiment”, “an example”, “an implementation” orsimilar terms means that a particular feature, structure, orcharacteristic described in connection with the embodiment, example orimplementation is included in at least one embodiment, example orimplementation of the present invention. Thus, the appearances of suchphrases or in various places throughout this specification are notnecessarily all referring to the same embodiment, example orimplementation. Furthermore, the particular features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments, examples or implementations without limitation.

The term “or” as used herein is to be interpreted as an inclusive ormeaning any one or any combination. Therefore, “A, B or C” means “any ofthe following: A; B; C; A and B; A and C; B and C; A, B and C”. Anexception to this definition will occur only when a combination ofelements, functions, steps or acts are in some way inherently mutuallyexclusive.

As noted above, there has been a rapid increase in complexity andprogrammable functionality of a television set. Added functionality ofthe television may be accomplished using a so-called “Widget”. Forpurposes of this document, the term “Widget” is used to mean alightweight software application that is designed to operate in atelevision receiver environment that is available to carry out variousdedicated functions for the user. In the modem TV environment, suchprograms may interact with storage, the Internet, a cable or satellitesystem, other TV related software and hardware components responsiblefor the normal functioning of the TV through a specific interface, otherWidgets on the TV or other entities to carry out various functions forthe convenience of the user. The user can launch or terminate suchWidgets by selecting them from a menu, through user input via a key onthe TV's remote control, voice activation, gesture activation or thelike, through an automatic contextual launch where the TV program deemedas appropriate or other interface in order to access or restrict theirfunctionality in the television environment. The “Widget” may exist as aprogram independently on the system, or on a common Widget platformwhere global variables may affect the Widget in terms of functionality,operability, visibility or the like. The Widget operates as a computerprogram running on the TV's central processor or on another processorwithin the television.

Widgets can be used like a computer program by a TV viewer to implementfunctions that have not been available to the user the TV user in thepast. For example, a Widget can be developed to provide access to email,play games, provide weather forecasts, provide clock functions, provideRSS feeds, display a photo album, or some other content that is beingreceived via the web which displayed on the TV with the proper means,etc.

The present search enhancement feature is implemented within atelevision set (TV) and allows users to make a generic text-input searchfor an application and directly enter a particularchannel/application/settings from any part of the TV. This includes notonly searches of metadata associated with television programs, but alsoother data including data relating to system functions of thetelevision, IPTV programming or content metadata, and metadata or otherinformation relating to Widgets.

With reference to FIG. 1, a television set 10 is depicted in which atelevision display 14 displays content, menus and information as will bedescribed. The television 10 potentially receives input from a varietyof sources potentially including, but not limited to a conventional TVtuner (analog and/or digital) 18 or a modem or other Internet connection22 serving as an IPTV receiver device that provides content to adecoder, decrypter, display drivers, etc. 26 in a more or lessconventional manner to drive the display 14.

The TV functions under control of a programmed control processor 30 thatcommunicates with the various TV components via one or more buses orcontrol lines depicted as buses 34. Commands from a remote controller 38are passed through a remote controller interface 42 in order to providethe user with control of the TV 10. TV 10 includes an internal database46 which operates as a metadata database to store metadata relating totelevision programming. However, in addition, database 46 stores datarelating not only to conventional television programming, but also to TVprogramming available over the Internet as well as metadata or otherdata associated with native TV operation and Widgets that are stored onand operational on the TV. To accomplish this, the TV processor hasassociated with it a memory or other storage device 50—which may be anysuitable combination of volatile and nonvolatile memory includingsemiconductor, optical and mechanical technologies, etc. In certainembodiments, memory 50 is made entirely or predominantly of flashmemory. Memory 50 may also encompass the database 46 which is shownseparately for clarity. Among other things, the memory 50 may store theTV's operating system and operational programming used to carry outnormal TV control functions. Such functional modules are not shown forclarity, but the memory 50 also stores a search engine (or a databasemanagement system) such as SQLite™ or other suitable search engine 52 aswell as a search application for finding TV guide data 56 and a searchapplication for finding IPTV video services 60. The native applicationsfor the TV may also include key words and/or metadata shown as 64, andany widgets loaded onto the TV may also have associated key words andmetadata shown as 68. Finally, the TV may incorporate a backgroundroutine that is used to search for and update database information fornew metadata.

By way of example, the user can use the remote controller 38 to bring upa search tool consistent with certain implementations and can search for“NBC”, for example. The search module (search engine 52) then looks upall the TV modules, realizes that NBC is a TV network or channel, andreturns all the relevant results of the search (there may be more thanone NBC channel and NBC could also be available as a Widget or other hitin the search results). The user then selects the correct choice, thecurrent screen terminates and the NBC channel shows up after necessarytransitions are made.

The search engine and database reside on the TV and allows users to makea generic text-input search for an application and directly enterparticular channel/application/settings from any part of the TV. Thisfeature described in the application looks for applications, Widgets, TVchannels or basically where things are, rather than particular contentor media. Hence, the user can search not only for programming but fortelevision or Widget functionality. Thus, in the example above, a searchfor “weather”, the search engine might retrieve links to a weatherWidget, The Weather Channel, and any programming with the term “weather”as either a key word or part of a title or part of the programming'smetadata (e.g., local news programming that provides a weather forecast,or a movie having a foul weather related plot).

Operation of the system can also proceed, for example, according to thefollowing scenario. Assume the user is navigating through any part ofthe TV, say, in the video guide of the Yahoo™ service. In certainimplementations using a cross media bar menu system (XMB) such servicemay appear under the Internet Channel column of the menu. Now assumethat the user wants to tune in to the CNN news from the Video Guide, butdoes not know the actual channel for CNN. The user brings up theApplication/Channel search tool (for example via a direct entry to thetool provided on the remote control 38. The user then types in “CNN”into a search box provided on screen by the tool and requests the searchby entering the “search” command (either directly from the remotecontrol as a “Search”, as an “Enter” command, or by selecting “Search”as a selectable icon on the TV screen). As a consequence, the searchtool searches and returns the relevant results from the search, amongwhich is the channel, showing CNN news. Other possible results mayinclude other CNN related channels, an RSS feed hosted by CNN, or otherprogramming for which the search engine retrieves a hit. The user canthen select the channel to tune to CNN. In this instance, on selection,the video guide application will terminate its operations and returncontrol to the TV, which then brings up the channel that is requested(CNN). The information for the TV response is provided by the searchtool, which possess the correlation between the actual channel on the TVand the searched keyword “CNN”. In this way, the TV does not have tointerpret a random keyword to look for the application, but instead, itonly has to recognize a fixed application ID which represents thatchannel/application and which is registered by the TV on boot up, on aroutine update, or when a channel or Widget is added, deleted orrefreshed (which will be elaborated further below). The randomness isalready handled by the search tool which will provide the correspondingApplication ID already registered in the database.

The search tool operates to gather, and put into the database 46 thenecessary information (tags) from the TV, such as related keywords forthe settings, available Widgets, available services in the InternetChannel, services and metadata from the TV guide, as well as othernon-limiting applications/channel types. Periodically or on demand, thisdatabase can be updated, especially, the Internet services and the TVchannel metadata since programs provided by TV and Internet channels areever-changing. However, variation in the update cycle for each of thedifferent sources of data is contemplated in other implementations.Moreover, data can be pushed to the TV 10 by approved services (e.g., anapproved Internet site) as well as pulled by the TV on a periodic ordemand basis.

When the search tool is called and a keyword is entered, the search toolwill look through this database for the matching tags. If a successfultag is found, it is matched to the corresponding application ID.Indexing may be used to enhance the search, or other known searchenhancements can be provided. All successful search results will bereturned and presented on a user's display. The user can select a resultand the corresponding Application ID is passed to the TV, which thenperforms the necessary actions. Such actions can include launching anassociated TV or IPTV program, changing channel or launching a selectedWidget. In this way, the user does not have to scroll through tons ofapplications/channels in search of a particular application/channel.This allows users to make a generic text-input search for an applicationand enter directly particular channel/applications from any part of theTV.

In operation of embodiments consistent with the present invention,metadata tags can not only be associated with programming fromconventional TV and IPTV, but can also be associated with TV functions(e.g., menus or tuning operations) as well as Widgets that carry outvarious functions.

While one processor is depicted in FIG. 1, one or more programmedprocessors can have one or more program modules that retrieves metadatarelating to television programming, metadata relating to IPTV content,metadata relating to any installed Widgets, and metadata associated withthe television (TV) receiver device's function. For convenience, thetelevision programming, the channel selection, the IPTV content, theWidgets and the TV receiver device functions can all be consideredsearch targets. The programmed processor stores tags from the metadatain a database to associate the tags with their targets. The searchengine, that runs on the one or more programmed processors or processorcores, searches the database for tags in response to a search query andto retrieves the associated target when the user selects the target andexecutes a suitable selection command. The control processor orprocessors execute the target by either tuning to the target's programcontent (e.g., by selecting a channel, or by launching or resuming aWidget or TV device function).

Turning now to FIG. 2, one example process 100 is depicted for abackground routine forming a part of the system's operation is carriedout. Many variations are possible with this system, which depicts allupdates being carried out on a periodic basis. For example, certainupdates can be carried out with greater frequency than others, and someonly need be carried out upon a particular action (e.g., loading a newWidget or obtaining an update of the System functions via a download,etc.). In this implementation, starting at 102, the system is poweredup, boots and loads applicable system functions for the current turn-onstate at 106. At 108, the TV processor(s) matches and registers into thedatabase each application or channel and the corresponding ApplicationID for future reference, if the TV has been previously updated. TheApplication ID may be generated on the fly when the TV boots up and getsthe entire list of applications and channels. Then the Application IDsare added to the database. The application IDs may not already bepresent in the database if they are not already known in advance, andthe TV may not know how many and what applications and channels areavailable in advance4. If an update is to take place (which may happenat each power up, or at a designated time, etc.) at 110, in thisexample, control passes to 114 where TV guide information is found anddownloaded (e.g., from an Internet site or via request of a serviceprovider). It will be understood that such information may be pushed ata separate time in addition to or instead of as a periodic request as in114. Once the TV guide information is identified and retrieved (orsimultaneously therewith), it is possibly indexed and the tags from anymetadata found are stored in database 46 at 118 to enable the user tolocate by search either channels or programming content via a search aswill be described later.

A similar operation takes place at 122 wherein IPTV content metadata andaccess information (i.e., links in the form of URLs or other links) isretrieved from either a plurality of sources of content or from aninformation aggregator such as is used in the Sony BIVL™ (Bravia™Internet Video Link) system. Once that information is retrieved (orwhile it is being retrieved) the metadata tags are indexed and stored inthe database 46 to enable to the user to locate by search the availablecontent for streaming using IPTV technology.

Control then passes to 130 in this example implementation whereoptionally the processor(s) can determine if a system function updatehas occurred since the metadata associated therewith has been downloadedand stored in the database 46. If not, the function of downloading andstoring new information can be bypassed to save resources. Otherwise,the system function data or metadata can be identified at 134 anddownloaded for indexing and loading of associated tags into the database46 at 138. In this manner, for example, if a firmware update isinstalled (by either a push or pull operation), any new features orimproved metadata can be downloaded and stored to enable the user totake advantage of the search tool to find out information and access theTVs functionality. For example, the user could search for “move PIP” askey words to learn how to move a picture in picture window about thescreen; or, could search for “Widget download” to learn how to downloadand install a Widget on the TV system; or, could search “XMB” to findtags related to cross media bar functions, and even bypass the menusystem to get to a particular function.

In this implementation, control passes from 138 (or 130) to 142 where adetermination can be made as to whether a new Widget has been installedor updated. If not, control passes to 154 to await the next update cyclebeginning by returning to 110. If so, the processor searches formetadata or data related to one or more Widget programs installed on theTV (or available for installation) at 150 and loads appropriate tags tothe database 46. Those tags are loaded into the database, possibly withappropriate indexing to speed searching, at 150 and control passes to154.

Hence, in accord with the above description, not only TV programming andIPTV content are available from the program guide; they can be found viaa keyword or filtered search using the search engine. Moreover, thesearch tool can be used to search for other resources including, but notlimited to, programmed functions available in the television set itselfas well as Widgets that are installed or available on the TV set. Assuch, a search of “San Francisco” may result in, among other things,Widgets that provide traffic, news or weather information for the SanFrancisco area; or, may produce a movie or television program relatingto San Francisco available through conventional TV or IPTV.

The search process can be carried out using, for example, a process 200similar to that of FIG. 3, starting at 204 and assuming that the TV isin a mode of normal TV operation at 208. The user can issue a commandeither directly by the remote control or by access through a menu systemsuch as a cross media bar menu system at 212 to initiate a search. Whensuch a search is initiated at 216, the search tool's search engine isloaded at 220 at which point the user is presented with a display thatincludes any suitable search paradigm. This can include check boxes forsearch categories and search filters, and a keyword entry box. The userthen chooses filters and/or key words at 224 by use of a virtualkeyboard on the display and using the remote controller to navigate togenerate the key words, or by direct entry from a keypad or keyboard.When the search criteria have been established at 228, the search isinitiated by a search command issued from the remote control eitherdirectly or via a virtual button on the display to which the remotecontrol navigates. The search engine then carries out the search andproduces a displayed output—preferably, but not necessarily, in ahierarchical order of likelihood at 232. If the search is to be refined,or another search carried out at 236, control returns to 224 and thesearch screen can be edited or started anew. If the search is completedat 236, control passes to 240 where any number of actions can take placebased upon the user's input. For example, if the user selects a channelor a program or other content, the TV changes channels or loads thecontent. If the user simply exits, control can return to normal TVoperation at 208, or if the user entered the search tool via a menu, thecontrol may return to the menu system. Other variants will occur tothose skilled in the art upon consideration of the present teachings.

In another implementation, where a network is available, the searchenquiry can also be posted to a specialized server (eg, a server hostedby a TV manufacturer such as Sony Corp. or a service provider) toinclude demographics not available to a local system, such as the mostwatched TV channel at the current time and location or the most popularwidget currently being used. Special and unique information about aparticular TV such as the TV serial number, model number or acombination of both, can be transmitted to the server as a means tounique identification. This will allow the server to know exactly whatapplications (system function or widgets) and channels (TV or internet)are available to that particular TV, and hence conduct a search based onthis list and return the most relevant results. The server's database isupdated whenever the TV registers for a new widget or a new channel.

Thus, according to certain implementations, a television receiver devicehas a television receiver and an Internet Protocol television (IPTV)receiver. A decoder decodes television programming from either of thetelevision receiver or the IPTV receiver. One or more programmedprocessors have one or more program modules that retrieve metadatarelating to television programming, metadata relating to IPTV content,metadata relating to any installed Widgets, and metadata associated withthe television (TV) receiver device's function. The televisionprogramming, the IPTV content, the Widgets and the TV receiver devicefunctions are considered search targets. The programmed processor storestags from the metadata in a database and associates the tags with theirtargets. A search engine runs as a functional module on the one or moreprogrammed processors to search the database for tags in response to asearch query and to retrieve the associated target on command. Thecontrol processor executes the target by either tuning to the target'sprogram content or by launching or resuming a Widget or TV devicefunction.

In certain example embodiments, the search engine presents potentialtargets for selection by a user prior to execution of the target. Incertain example embodiments, the selection by the user comprisesselecting one of a plurality of search results. In certain exampleembodiments, the tags are indexed in the database. In certain exampleembodiments, IPTV tags are associated with Universal Resource Locatorlinks in the database. In certain example embodiments, the Widget tagsare associated with a command to launch the associated Widget. Incertain example embodiments, the processor retrieves or updates allmetadata on a periodic basis. In certain example embodiments, theprocessor retrieves or updates metadata on a periodic basis, with adifferent period for metadata associated with at least two of the typesof targets. In certain example embodiments, at least a portion of themetadata are pushed to the television receiver device by a source on theInternet. In certain example embodiments, the TV system functionmetadata are retrieved only when there is an update of the metadata. Incertain example embodiments, the Widget metadata are retrieved only forWidgets loaded into the TV receiver device. In certain exampleembodiments, the Widget metadata are retrieved for Widgets available forloading into the TV receiver device. In certain example embodiments, thedatabase and program modules are stored on flash memory.

In another example embodiment, a television receiver device, has atelevision receiver and an Internet Protocol television (IPTV) receiver.A decoder decodes television programming from either of the televisionreceiver or the IPTV receiver. One or more programmed processors haveone or more program modules stored on a flash memory that retrievesmetadata relating to television programming, metadata relating to IPTVcontent, metadata relating to any installed Widgets, and metadataassociated with the television (TV) receiver device's function. Thetelevision programming, the IPTV content, the Widgets and the TVreceiver device functions are considered search targets. The programmedprocessor stores tags from said metadata in a database and associatesthe tags with their targets. A search engine runs as a functional moduleon the one or more programmed processors to search the database for tagsin response to a search query and to retrieve associated targets as aresult of the search command. The control processor executes a userselected target selected from among search results by either tuning tothe target's program content or by launching or resuming a Widget or TVdevice function.

In certain example embodiments, the tags are indexed in the database. Incertain example embodiments, IPTV tags are associated with UniversalResource Locator links in the database, and where the Widget tags areassociated with a command to launch the associated Widget. In certainexample embodiments, the processor retrieves or updates all metadata ona periodic basis. In certain example embodiments, the processorretrieves or updates metadata on a periodic basis, with a differentperiod for metadata associated with at least two of the types oftargets. In certain example embodiments, the TV system function metadataare retrieved only when there is an update of the metadata. In certainexample embodiments, the Widget metadata are retrieved only for Widgetsloaded into the TV receiver device. In certain example embodiments, theWidget metadata are retrieved for Widgets available for loading into theTV receiver device. In certain other example embodiments, a televisionreceiver device has a television receiver and an Internet Protocoltelevision (IPTV) receiver. A decoder decodes television programmingfrom either of the television receiver or the IPTV receiver. One or moreprogrammed processors having one or more program modules stored on aflash memory that retrieves metadata relating to television programming,metadata relating to IPTV content, metadata relating to any installedWidgets, and metadata associated with the television (TV) receiverdevice's function. The television programming, the IPTV content, theWidgets and the TV receiver device functions are considered searchtargets. The programmed processor indexes and stores tags from saidmetadata in a database and associates the tags with their targets, whereIPTV tags are associated with Universal Resource Locator links in thedatabase, and where the Widget tags are associated with a command tolaunch the associated Widget. A search engine runs as a functionalmodule on the one or more programmed processors to search the databasefor tags in response to a search query and to retrieve associatedtargets as a result of the search command. The control processorexecutes a user selected target selected from among search results byeither tuning to the target's program content or by launching orresuming a Widget or TV device function. The processor retrieves orupdates all metadata on a periodic basis, and the Widget metadata areretrieved only for Widgets loaded into the TV receiver device.

Those skilled in the art will recognize, upon consideration of the aboveteachings, that certain of the above exemplary embodiments are basedupon use of a programmed processor using program modules that carry outthe various functions. However, the invention is not limited to suchexemplary embodiments, since other embodiments could be implementedusing hardware component equivalents such as special purpose hardwareand/or dedicated processors. Similarly, general purpose computers,microprocessor based computers, micro-controllers, optical computers,analog computers, dedicated processors, application specific circuitsand/or dedicated hard wired logic may be used to construct alternativeequivalent embodiments.

Those skilled in the art will appreciate, upon consideration of theabove teachings, that the program operations and processes andassociated data used to implement certain of the embodiments describedabove can be implemented using disc storage as well as other forms ofstorage such as for example Read Only Memory (ROM) devices, RandomAccess Memory (RAM) devices, network memory devices, optical storageelements, magnetic storage elements, magneto-optical storage elements,flash memory, core memory and/or other equivalent volatile andnon-volatile storage technologies without departing from certainembodiments of the present invention. Such alternative storage devicesshould be considered equivalents.

Certain embodiments described herein, are or may be implemented usingone or more programmed processors executing programming instructionsthat are broadly described above in flow chart form that can be storedon any suitable electronic computer readable storage medium. However,those skilled in the art will appreciate, upon consideration of thepresent teaching, that the processes described above can be implementedin any number of variations and in many suitable programming languageswithout departing from embodiments of the present invention. Forexample, the order of certain operations carried out can often bevaried, additional operations can be added or operations can be deletedwithout departing from certain embodiments of the invention. Errortrapping can be added and/or enhanced and variations can be made in userinterface and information presentation without departing from certainembodiments of the present invention. Such variations are contemplatedand considered equivalent.

While certain illustrative embodiments have been described, it isevident that many alternatives, modifications, permutations andvariations will become apparent to those skilled in the art in light ofthe foregoing description.

What is claimed is:
 1. A device, comprising: a receiver deviceconfigured to receive content; a decoder configured to decode thecontent from the receiver device; one or more programmed processorsprogrammed to retrieve metadata relating to the content, metadatarelating to any Widgets installed on the device, and metadata associatedwith the receiver device's function; the content, the Widgets and thereceiver device functions comprising search targets; the programmedprocessor storing tags from said metadata in a database and associatingthe tags with their targets; a search engine that runs as a functionalmodule on the one or more programmed processors to search the databasefor tags in response to a search query and to retrieve the associatedtarget on command; and the control processor executing the target byeither tuning to the target's content or by launching or resuming aWidget or device function.
 2. The device according to claim 1, where thesearch engine presents potential targets for selection by a user priorto execution of the target.
 3. The device according to claim 2, wherethe selection by the user comprises selecting one of a plurality ofsearch results.
 4. The device according to claim 1, where the tags areindexed in the database.
 5. The device according to claim 1, where thetags are associated with Universal Resource Locator links in thedatabase.
 6. The device according to claim 1, where the Widget tags areassociated with a command to launch the associated Widget.
 7. The deviceaccording to claim 1, where the processor retrieves or updates allmetadata on a periodic basis.
 8. The device according to claim 1, wherethe processor retrieves or updates metadata on a periodic basis, with adifferent period for metadata associated with at least two of the typesof targets.
 9. The device according to claim 1, where at least a portionof the metadata are pushed to the receiver device by a source on theInternet.
 10. The device according to claim 1, where the device functionmetadata are retrieved only when there is an update of the metadata. 11.The device according to claim 1, where the Widget metadata are retrievedonly for Widgets loaded into the device.
 12. The device according toclaim 1, where the Widget metadata are retrieved for Widgets availablefor loading into the receiver device.
 13. The device according to claim1, where the database and program modules are stored on flash memory.14. The device according to claim 1, where the receiver device comprisesa television receiver device or an Internet Protocol television receiverdevice.
 15. A device, comprising: a receiver device configured toreceive content; a decoder configured to decode content from receiverdevice; one or more programmed processors having one or more programmodules stored on a flash memory that retrieves metadata relating to thecontent, metadata relating to any Widgets installed on the device, andmetadata associated with the receiver device's function; the content,the Widgets and the receiver device functions comprising search targets;the programmed processor storing tags from said metadata in a databaseand associates the tags with their targets; a search engine that runs asa functional module on the one or more programmed processors to searchthe database for tags in response to a search query and to retrieveassociated targets as a result of the search command; and the controlprocessor executing a user selected target selected from among searchresults by either tuning to the target's content or by launching orresuming a Widget or receiver device function.
 16. The device accordingto claim 15, where the tags are indexed in the database.
 17. The deviceaccording to claim 15, where the tags are associated with UniversalResource Locator links in the database, and where the Widget tags areassociated with a command to launch the associated Widget.
 18. Thedevice according to claim 15, where the processor retrieves or updatesall metadata on a periodic basis.
 19. The device according to claim 15,where the processor retrieves or updates metadata on a periodic basis,with a different period for metadata associated with at least two of thetypes of targets.
 20. The device according to claim 15, where thereceiver function metadata are retrieved only when there is an update ofthe metadata.
 21. The device according to claim 15, where the Widgetmetadata are retrieved only for Widgets loaded into the receiver device.22. The device according to claim 15, where the Widget metadata areretrieved for Widgets available for loading into the receiver device.23. The device according to claim 15, where the receiver devicecomprises a television receiver device or an Internet Protocoltelevision receiver device.
 24. A device, comprising: a receiver deviceconfigured to receive content; a decoder configured to decode thecontent; one or more programmed processors having instructions stored ona flash memory that retrieves metadata relating to televisionprogramming, metadata relating to the content, metadata relating to anyinstalled Widgets, and metadata associated with the receiver device'sfunction; the content, the Widgets and the receiver device functionscomprising search targets; the programmed processor indexing and storingtags from said metadata in a database and associates the tags with theirtargets, where certain of the tags are associated with UniversalResource Locator links in the database, and where the Widget tags areassociated with a command to launch the associated Widget; a searchengine that runs on the one or more programmed processors to search thedatabase for tags in response to a search query and to retrieveassociated targets as a result of the search command; the controlprocessor executing a user selected target selected from among searchresults by either tuning to the target's content or by launching orresuming a Widget or device function; and where the processor retrievesor updates all metadata on a periodic basis, and where the Widgetmetadata are retrieved only for Widgets loaded into the receiver device.25. The device according to claim 24, where the receiver devicecomprises a television receiver device or an Internet Protocoltelevision receiver device.